package com.wuliu.system.service.app;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wuliu.common.core.domain.PageResult;
import com.wuliu.system.domain.TspOrderPre;
import com.wuliu.system.domain.dto.app.BatchCollectOrderDto;
import com.wuliu.system.domain.dto.app.CalcOrderFeeDto;
import com.wuliu.system.domain.dto.app.RecOrderPreDto;
import com.wuliu.system.domain.dto.app.UserOrderPreDto;
import com.wuliu.system.domain.vo.applet.TspOrderPreVo;

import java.math.BigDecimal;

/**
 * @author realue
 * @version 1.0
 * @date 2023-11-03 17:43
 */
public interface AppTspOrderPreService extends IService<TspOrderPre> {
    /**
     * 查询当前业务员的预约单
     *
     * @param dto
     * @return
     */
    PageResult<TspOrderPreVo> getOrderPres(UserOrderPreDto dto);

    /**
     * 接单、取消接单操作
     *
     * @param orderId
     * @param type
     * @return
     */
    Boolean receiveOrder(String orderId, Integer type);

    /**
     * 批量揽收
     *
     * @param dto
     * @return
     */
    Boolean batchCollect(BatchCollectOrderDto dto);

    /**
     * 单票揽收
     *
     * @param dto
     * @return
     */
    Boolean collect(RecOrderPreDto dto);

    /**
     * 预约单详细
     * @param id
     * @return
     */
    TspOrderPre getInfo(String id);

    /**
     * 计算运费
     * @param dto
     * @return
     */
    BigDecimal calcFee(CalcOrderFeeDto dto);
}
